﻿using System;
using System.Windows.Forms;

namespace Onshi.POS.Formularios.Recursos
{
    public class NumeroBase : NumericUpDown
    {
        #region Constructores

        public NumeroBase()
        {
            HandleCreated += new EventHandler(NumeroBase_HandleCreated);
        }

        #endregion

        #region Enumeradores

        public enum EnumTipo
        {
            TODOS,
            POSITIVOS,
            NEGATIVOS
        }

        #endregion

        #region Atributos

        private EnumTipo tipo = EnumTipo.TODOS;

        #endregion

        #region Propiedades

        public EnumTipo Tipo
        {
            get { return tipo; }
            set
            {
                tipo = value;
                switch (tipo)
                {
                    case EnumTipo.TODOS:
                        Minimum = Decimal.MinValue;
                        Maximum = Decimal.MaxValue;
                        break;
                    case EnumTipo.POSITIVOS:
                        Minimum = Decimal.Zero;
                        Maximum = Decimal.MaxValue;
                        break;
                    case EnumTipo.NEGATIVOS:
                        Minimum = Decimal.MinValue;
                        Maximum = Decimal.Zero;
                        break;
                }
            }
        }

        #endregion

        #region Eventos

        private void NumeroBase_HandleCreated(Object sender, EventArgs e)
        {
            Font = Properties.Settings.Default.Fuente;
            TextAlign = HorizontalAlignment.Right;
        }

        protected override void OnKeyUp(KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter)
                SendKeys.Send("{Tab}");
        }

        #endregion
    }
}
